A telecommunications network is composed of a variety of components, such as switches, routers, signal-control points, and a litany of other network elements. Switches contain tables of data that help establish pathways between a source and a destination. The tables store data such as customer information, routing data, network-architecture information, and more. The number of tables varies greatly and depends upon the type of switch or computing device. The data in these tables enable a variety of communications to be established; from connecting a first residential caller to a second residential caller to transmitting data packets around the globe. Table data is not stagnant. On the contrary, as network-component data is modified, new area codes are added, customer services are varied, and other virtually unlimited modifications take place; table data continually changes.
Switches contain internal data such as route-reference indexes (route lists), data-manipulation indexes, and trunk-group references. Switch vendors do not provide a database interface for their customers to use. Accordingly, communications carriers must manage indexes on a table or resource on an external system or network element (external resource) that is not physically managed by its software. Further, they must ensure that multiple applications accessing these tables do not accidentally utilize an index on the external resource that may be owned by another application. Moreover, because only a limited number of indexes exist on the resource, the indexes should be partitioned into ranges or pools that can be shared by some applications yet are not exposed to other applications.
There is a current need in the art to provide the above-mentioned functionality and to manage the index data that relates to various resources of a communications network. These indexes are often shared resources that are used and then freed, or allocated and deallocated. Currently, managing these resources is complex, difficult, and often leads to situations where customers are put out of service because indexes can unknowingly be allocated to multiple resources or overwritten with undesired data. That is, prior to completing the assignment of an index to a resource, that index may be allocated to a different resource. This could prevent one or both resources from functioning properly. The current state of the art could be improved by providing a resource manager to monitor used and available indexes, to receive requests for new index allocations, and to allocate and deallocate these resources as needed.